package com.example.auth.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * OAuth2客户端实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oauth_client")
public class OAuthClient extends BaseEntity {

    /**
     * 客户端ID
     */
    private String clientId;

    /**
     * 客户端密钥
     */
    private String clientSecret;

    /**
     * 客户端名称
     */
    private String clientName;

    /**
     * 授权范围，多个用逗号分隔
     */
    private String scope;

    /**
     * 重定向URI列表，多个用逗号分隔
     */
    private String redirectUri;

    /**
     * 授权类型，多个用逗号分隔，如：authorization_code,refresh_token,password
     */
    private String grantTypes;

    /**
     * 访问令牌有效期，单位：秒
     */
    private Long accessTokenValiditySeconds;

    /**
     * 刷新令牌有效期，单位：秒
     */
    private Long refreshTokenValiditySeconds;

    /**
     * 是否自动批准授权，1=是，0=否
     */
    private Integer autoApprove;

    /**
     * 状态（0-禁用，1-正常）
     */
    private Integer status;
} 